﻿using IntelligentAgriculture.Contracts.Dto.Input;
using IntelligentAgriculture.Contracts.Dto.Output;
using IntelligentAgriculture.Domain.Entity;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace IntelligentAgriculture.Contracts.Interface
{
    /// <summary>
    /// 羊场服务接口
    /// </summary>
    public interface ISheepService
    {

        /// <summary>
        /// 获取羊场列表
        /// </summary>
        /// <param name="input"></param>
        /// <returns></returns>
        Task<PageOutput<SheepOutPut>> SheepFactoryList(SheepInPut input);
        /// <summary>
        /// 添加羊场
        /// </summary>
        /// <param name="sheep"></param>
        /// <returns></returns>
        Task<int> Add(Sheepfactory sheep);

        /// <summary>
        /// 删除羊场
        /// </summary>
        /// <param name="sheepId"></param>
        /// <param name="idList"></param>
        /// <returns></returns>
        Task<int> Delete(int sheepId, params int[] idList);

        /// <summary>
        /// 更新羊场
        /// </summary>
        /// <param name="sheep"></param>
        /// <returns></returns>
        Task<int> Update(Sheepfactory sheep);

        /// <summary>
        /// 获取羊场详情
        /// </summary>
        /// <param name="input"></param>
        /// <returns></returns>
        Task<SheepOutPut> GetSheep(SheepGetInPut input);
    }




}
